package cn.tedu.collection;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;

// -Xmx5m -Xms5m -XX:+PrintGC
//打印GC日志
public class ReferencesTests {
    public static void main(String[] args)
    {
        //List<byte[]> list1=new ArrayList<>();
        //List<SoftReference> list2=new ArrayList<>();
        List<WeakReference> list3=new ArrayList<>();
        while(true){
            //1.强引用(强引用引用的对象不会被销毁)
            //byte[] b1=new byte[1024*1024];
            //list1.add(b1);
            //2.软引用(在内存不足时，GC触发会销毁垃圾对象)
            //SoftReference<byte[]> b2=new SoftReference<>(new byte[1024*1024]);
            //list2.add(b2);
            //2.弱引用(GC触发会销毁垃圾对象)
            WeakReference<byte[]> b3=new WeakReference<>(new byte[1024*1024]);
            list3.add(b3);
        }
    }
}
